/**
 * 
 */
package com.googlecode.jasmincc.framework.io.implementation;

import java.io.FileNotFoundException;
import java.util.*;
import com.googlecode.simplexer.io.CharOutputSequence;
import com.googlecode.simplexer.io.implementation.*;

/**
 * @author Administrator
 * 
 */
public class SimpleOutputStreamFactory implements
		com.googlecode.jasmincc.framework.io.OutputStreamFactory {

	protected List<FileCharOutputSequence> methods = new ArrayList<FileCharOutputSequence>();

	protected CharOutputSequence tokens = new FileCharOutputSequence("tokens");
	
	protected CharOutputSequence parser = new FileCharOutputSequence("parser");

	protected CharOutputSequence skips = new FileCharOutputSequence("skips");

	protected CharOutputSequence options = new FileCharOutputSequence("options");
	
	protected CharOutputSequence more = new FileCharOutputSequence("more");
	
	protected CharOutputSequence specialTokens = new FileCharOutputSequence("specialToken");
	
	protected CharOutputSequence tokenManagerDeclarations = new FileCharOutputSequence("tokenManagerDeclarations");

	public SimpleOutputStreamFactory() throws Exception {

		tokens = new FileCharOutputSequence("tokens");

		skips = new FileCharOutputSequence("skips");

		options = new FileCharOutputSequence("options");
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see com.googlecode.jasmincc.framework.io.OutputStreamFactory#getOutputStream(java.lang.String)
	 */
	public CharOutputSequence getOutputStream(StreamType type)
			throws Exception {
		switch (type) {
		case Tokens:
			return tokens;
		case Skips:
			return skips;
		case Options:
			return options;
		case Methods:
			FileCharOutputSequence method = new FileCharOutputSequence("method");
			return method;
		default:
			return ConsoleCharOutputSequence.getInstance();
		}
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.googlecode.jasmincc.framework.io.OutputStreamFactory#mashUp(java.lang.String)
	 */
	public CharOutputSequence mashUp(String name) {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.googlecode.jasmincc.framework.io.OutputStreamFactory#getOutputStream(java.lang.String)
	 */
	public CharOutputSequence getOutputStream(String name)
			throws FileNotFoundException {
		// TODO Auto-generated method stub
		return null;
	}

}
